/*
 * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved.
 *
 * File Name: isp_peri_ctrl.h
 * Description:
 *
 */

#ifndef _ISP_PERI_CTRL_H_
#define _ISP_PERI_CTRL_H_

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif /* End of #ifdef __cplusplus */

/*ByPlatfromS*/

/*gpio*/
enum CVI_GPIO_NUM_E {
	CVI_GPIOD_00 = 404,
	CVI_GPIOD_01,	CVI_GPIOD_02,	CVI_GPIOD_03,	CVI_GPIOD_04,	CVI_GPIOD_05,
	CVI_GPIOD_06,	CVI_GPIOD_07,	CVI_GPIOD_08,	CVI_GPIOD_09,	CVI_GPIOD_10,
	CVI_GPIOD_11,
	CVI_GPIOC_00 = 416,
	CVI_GPIOC_01,	CVI_GPIOC_02,	CVI_GPIOC_03,	CVI_GPIOC_04,	CVI_GPIOC_05,
	CVI_GPIOC_06,	CVI_GPIOC_07,	CVI_GPIOC_08,	CVI_GPIOC_09,	CVI_GPIOC_10,
	CVI_GPIOC_11,	CVI_GPIOC_12,	CVI_GPIOC_13,	CVI_GPIOC_14,	CVI_GPIOC_15,
	CVI_GPIOC_16,	CVI_GPIOC_17,	CVI_GPIOC_18,	CVI_GPIOC_19,	CVI_GPIOC_20,
	CVI_GPIOC_21,	CVI_GPIOC_22,	CVI_GPIOC_23,	CVI_GPIOC_24,	CVI_GPIOC_25,
	CVI_GPIOC_26,	CVI_GPIOC_27,	CVI_GPIOC_28,	CVI_GPIOC_29,	CVI_GPIOC_30,
	CVI_GPIOC_31,
	CVI_GPIOB_00 = 448,
	CVI_GPIOB_01,	CVI_GPIOB_02,	CVI_GPIOB_03,	CVI_GPIOB_04,	CVI_GPIOB_05,
	CVI_GPIOB_06,	CVI_GPIOB_07,	CVI_GPIOB_08,	CVI_GPIOB_09,	CVI_GPIOB_10,
	CVI_GPIOB_11,	CVI_GPIOB_12,	CVI_GPIOB_13,	CVI_GPIOB_14,	CVI_GPIOB_15,
	CVI_GPIOB_16,	CVI_GPIOB_17,	CVI_GPIOB_18,	CVI_GPIOB_19,	CVI_GPIOB_20,
	CVI_GPIOB_21,	CVI_GPIOB_22,	CVI_GPIOB_23,	CVI_GPIOB_24,	CVI_GPIOB_25,
	CVI_GPIOB_26,	CVI_GPIOB_27,	CVI_GPIOB_28,	CVI_GPIOB_29,	CVI_GPIOB_30,
	CVI_GPIOB_31,
	CVI_GPIOA_00 = 480,
	CVI_GPIOA_01,	CVI_GPIOA_02,	CVI_GPIOA_03,	CVI_GPIOA_04,	CVI_GPIOA_05,
	CVI_GPIOA_06,	CVI_GPIOA_07,	CVI_GPIOA_08,	CVI_GPIOA_09,	CVI_GPIOA_10,
	CVI_GPIOA_11,	CVI_GPIOA_12,	CVI_GPIOA_13,	CVI_GPIOA_14,	CVI_GPIOA_15,
	CVI_GPIOA_16,	CVI_GPIOA_17,	CVI_GPIOA_18,	CVI_GPIOA_19,	CVI_GPIOA_20,
	CVI_GPIOA_21,	CVI_GPIOA_22,	CVI_GPIOA_23,	CVI_GPIOA_24,	CVI_GPIOA_25,
	CVI_GPIOA_26,	CVI_GPIOA_27,	CVI_GPIOA_28,	CVI_GPIOA_29,	CVI_GPIOA_30,
	CVI_GPIOA_31
};

#define PWM2		CVI_GPIOB_03
#define PWM3		CVI_GPIOB_05
#define VI_DATA19	CVI_GPIOD_02
#define VI_DATA21	CVI_GPIOD_00
#define VI_DATA22	CVI_GPIOC_30

#define TUYA_IR_CUT1	VI_DATA21
#define TUYA_IR_CUT2	VI_DATA22
#define TUYA_IR_LED		PWM2
/*ByPlatfromE*/

CVI_S32 isp_peri_gpio_set(CVI_U32 gpio_pin, CVI_U32 value);
CVI_S32 isp_peri_gpio_get(CVI_U32 gpio_pin, CVI_U32 *value);

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif // _ISP_PERI_CTRL_H_
